package org.xmx0632.deliciousfruit.erp; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.nio.charset.Charset; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.ParseException; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.mime.MultipartEntity; import org.apache.http.entity.mime.content.StringBody; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.util.EntityUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import org.xmx0632.deliciousfruit.utilities.encode.Encoder; @Component public class ErpMessageSender { private static Logger log = LoggerFactory.getLogger(ErpApiService.class); private static final String JSONCODE = "jsoncode"; private static final String UTF_8 = "UTF-8"; public String sendPostMsg(String message, String url) { try { HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost(url); MultipartEntity entity = new MultipartEntity(); entity.addPart(JSONCODE, new StringBody(message, Charset.forName(UTF_8))); httppost.setEntity(entity); HttpResponse response = null; response = httpclient.execute(httppost); HttpEntity resEntity = response.getEntity(); String responseContent = ""; if (resEntity != null) { responseContent = EntityUtils.toString(resEntity, UTF_8); EntityUtils.consume(resEntity); } httpclient.getConnectionManager().shutdown(); return Encoder.decodeUnicode(responseContent); } catch (UnsupportedEncodingException e) { log.error(e.getMessage(), e); } catch (ClientProtocolException e) { log.error(e.getMessage(), e); } catch (ParseException e) { log.error(e.getMessage(), e); } catch (IOException e) { log.error(e.getMessage(), e); } return null; } }